﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СтатусыУчастниковОбменаЭД
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"9479fb61-cf01-4d06-97c3-3cf140198e86\", \"Представление\":\"ТребуетсяПригласить\"}")]
		ТребуетсяПригласить = 0,//Требуется пригласить
		[EnumMember(Value = "{\"Ссылка\":\"80a9f9da-f2a1-4a9a-8d16-8b9f4fd900c5\", \"Представление\":\"ТребуетсяОтсоединить\"}")]
		ТребуетсяОтсоединить = 1,//Требуется отсоединить
		[EnumMember(Value = "{\"Ссылка\":\"28cfcff1-b9e1-475b-b901-3075bc9bf5f1\", \"Представление\":\"Присоединен\"}")]
		Присоединен = 2,
		[EnumMember(Value = "{\"Ссылка\":\"e65b05bc-a884-486b-9e52-178dccde768e\", \"Представление\":\"Отсоединен\"}")]
		Отсоединен = 3,
		[EnumMember(Value = "{\"Ссылка\":\"5412cfd0-2da6-4a92-a50a-ce59c03bf258\", \"Представление\":\"ОжидаемСогласия\"}")]
		ОжидаемСогласия = 4,//Ожидаем согласия
		[EnumMember(Value = "{\"Ссылка\":\"18bb61f9-12f0-4b8a-abc1-fa9f7f3224d0\", \"Представление\":\"ЖдетСогласия\"}")]
		ЖдетСогласия = 5,//Ждет согласия
	}
	public static partial class СтатусыУчастниковОбменаЭД_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ТребуетсяПригласить = new Guid("f13cc397-1940-868e-4d06-cf019479fb61");//Требуется пригласить
		public static readonly Guid ТребуетсяОтсоединить = new Guid("9f8b168d-d94f-c500-4a9a-f2a180a9f9da");//Требуется отсоединить
		public static readonly Guid Присоединен = new Guid("753001b9-9bbc-f1f5-475b-b9e128cfcff1");
		public static readonly Guid Отсоединен = new Guid("8d17529e-decc-8e76-486b-a884e65b05bc");
		public static readonly Guid ОжидаемСогласия = new Guid("59ce0aa5-3bc0-58f2-4a92-2da65412cfd0");//Ожидаем согласия
		public static readonly Guid ЖдетСогласия = new Guid("9ffac1ab-327f-d024-4b8a-12f018bb61f9");//Ждет согласия
		public static СтатусыУчастниковОбменаЭД Получить(this СтатусыУчастниковОбменаЭД Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыУчастниковОбменаЭД Получить(this СтатусыУчастниковОбменаЭД Значение, Guid Ссылка)
		{
			if(Ссылка == ТребуетсяПригласить)
			{
				return СтатусыУчастниковОбменаЭД.ТребуетсяПригласить;
			}
			else if(Ссылка == ТребуетсяОтсоединить)
			{
				return СтатусыУчастниковОбменаЭД.ТребуетсяОтсоединить;
			}
			else if(Ссылка == Присоединен)
			{
				return СтатусыУчастниковОбменаЭД.Присоединен;
			}
			else if(Ссылка == Отсоединен)
			{
				return СтатусыУчастниковОбменаЭД.Отсоединен;
			}
			else if(Ссылка == ОжидаемСогласия)
			{
				return СтатусыУчастниковОбменаЭД.ОжидаемСогласия;
			}
			else if(Ссылка == ЖдетСогласия)
			{
				return СтатусыУчастниковОбменаЭД.ЖдетСогласия;
			}
			return СтатусыУчастниковОбменаЭД.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыУчастниковОбменаЭД Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыУчастниковОбменаЭД Значение)
		{
			switch (Значение)
			{
				case СтатусыУчастниковОбменаЭД.ТребуетсяПригласить: return ТребуетсяПригласить;
				case СтатусыУчастниковОбменаЭД.ТребуетсяОтсоединить: return ТребуетсяОтсоединить;
				case СтатусыУчастниковОбменаЭД.Присоединен: return Присоединен;
				case СтатусыУчастниковОбменаЭД.Отсоединен: return Отсоединен;
				case СтатусыУчастниковОбменаЭД.ОжидаемСогласия: return ОжидаемСогласия;
				case СтатусыУчастниковОбменаЭД.ЖдетСогласия: return ЖдетСогласия;
			}
			return Guid.Empty;
		}
	}
}